C语言算法精讲与实战

📚 共计 30 章节
第01章
C语言概述
C语言的历史与特点 · 应用领域 · 开发环境搭建 (GCC/Clang/VS Code) · 第一个C程序
入门环境
第02章
基本语法与数据类型
变量与常量 · int/float/char · printf与scanf · 格式化输出
基础IO
第03章
运算符与表达式
算术/关系/逻辑/位/赋值运算符 · 优先级
运算核心
第04章
流程控制 (上)
if · if-else · else if链 · switch-case · 条件运算符
分支逻辑
第05章
流程控制 (下)
while · do-while · for · break/continue · 循环嵌套
循环迭代
第06章
数组
一维/二维数组 · 初始化 · 遍历 · 数组作为函数参数
数据结构基础
第07章
字符串与字符数组
字符数组 · strlen/strcpy/strcmp/strcat · 字符串IO
字符串函数
第08章
函数 (上)
定义与声明 · 值传递 · 返回值 · 函数原型
函数模块化
第09章
函数 (下)
作用域与生命周期 · 递归 · static/extern · 内联函数
进阶递归
第10章
指针 (上)
指针概念 · 取地址与解引用 · 指针与数组 · 指针运算
指针内存
第11章
指针 (下)
函数指针 · 指针与字符串 · 多级指针 · void指针
指针高级
第12章
动态内存管理
malloc/calloc/realloc/free · 内存泄漏与野指针 · 常见错误
内存
第13章
结构体与联合体
结构体定义 · 结构体数组/指针 · typedef · union
结构体复合
第14章
文件操作 (上)
文件指针 · fopen/fclose · fgetc/fputc · fgets/fputs
文件IO
第15章
文件操作 (下)
fscanf/fprintf · fread/fwrite · fseek/ftell/rewind
文件随机读写
第16章
预处理与宏定义
#define · 带参宏 · 条件编译 · #include与头文件
预处理
第17章
排序算法 (上)
冒泡排序 · 选择排序 · 插入排序 — 原理与C实现
排序基础
第18章
排序算法 (下)
快速排序 · 归并排序 · 堆排序 — 原理与C实现
排序高效
第19章
查找算法
线性查找 · 二分查找 · 哈希查找 (简单实现)
查找算法
第20章
链表 (上)
单向链表定义 · 创建 · 遍历 · 插入与删除节点
链表动态
第21章
链表 (下)
双向链表 · 循环链表 · 链表与数组对比
链表进阶
第22章
栈与队列
顺序/链式存储 · 栈与队列实现 · 实际应用场景
队列
第23章
树与二叉树
树的定义 · 前序/中序/后序/层序遍历 · 二叉搜索树
递归
第24章
图的基本概念
邻接矩阵/邻接表 · DFS · BFS
搜索
第25章
递归与分治
递归思想 · 分治策略 · 汉诺塔 · 斐波那契优化
递归分治
第26章
贪心算法
贪心思想 · 活动选择 · 哈夫曼编码 · 找零问题
贪心策略
第27章
动态规划 (上)
DP思想 · 斐波那契DP · 0-1背包问题
DP背包
第28章
动态规划 (下)
LCS · LIS · 编辑距离
DP序列
第29章
常见算法技巧
双指针 · 滑动窗口 · 前缀和 · 差分数组 · 位运算技巧
技巧优化
第30章
综合实战项目
学生成绩管理系统 (链表+文件+排序+查找综合应用)
项目综合